Diverse ranges of electronic devices are increasingly making use of positioning information to deliver new services to users. Technologies such as satellite positioning systems, Inertial Navigation Systems (INS), Wi-Fi Positioning System, transmitter signal strength measurement, and motion sensors, are all used separately or in combination to provide location information to a wide range of devices including mobile phones, personal navigation devices, laptops, netbooks, in-car telematics etc. In particular, Location Based Services (LBS) are now a common feature available on mobile devices.
One of the most ubiquitous location technologies in recent years has been the GPS (Global Positioning System) that is the United States' positioning and navigation system primarily developed as military system but which is being popularly used by civilians all across the globe for positioning, timing, navigation and many other purposes. It contains numerous orbiting satellites around the globe in the different planes that transmit their positions with corrections, timing information and other useful data. All the satellites involved in the system have different identity in the forms of different transmission codes. The system is designed in such a way that users on the surface of the earth or up to a certain distance above it (this distance is limited by the height of the satellite planes) can at any time, given unobstructed visibility of the sky, see four or more satellites. Measurement of the time and phase differences among the four or more satellite signals reaching the receiver are used to uniquely and unambiguously determine the position of the user receiver.
The ability of the user receiver to calculate an accurate position is influenced by many error sources such as errors in satellite orbit positions (ephemeris), satellite and user clock inaccuracies, ionosphere and troposphere signal propagation effects, and local environment errors due to multipath signal reception and receiver measurement errors.
Differential correction techniques have been devised to minimise many of the major sources of errors. A fixed reference receiver or a network of receivers, with precisely known position, measure their pseudo-ranges from the visible satellites and derive a measure of the common mode atmospheric, ephemeris and satellite clock errors. These error measurements in the form of corrections are transmitted to the user receiver in the appropriate regions, either through local ground based communication links or through geostationary satellites. The latter system is the SBAS (Satellite Based Augmentation System) comprising of WAAS (Wide Area Augmentation System) in the U.S., EGNOS (European Geostationary Navigation Overlay Service) in Europe and several others.
When the user receiver does not have direct line of sight to four or more satellites, a situation which is very common in urban areas, indoors, multi-storey car-parks and under vegetation canopies, it will fail to obtain a position and navigation fix because of the very low signal to noise ratio. To assist users in these circumstances, a technology called Assisted GPS (AGPS) has been developed where useful information like ephemeris, almanac and sometimes precise timing information is transmitted to users through mobile phone networks to assist them in obtaining a lock on the satellites. AGPS has many variations and many proprietary techniques but almost all of them require some sort of communication link to mobile network service providers or links to the internet to deliver assistance data.
In known AGPS, an AGPS service provider has a network of many fixed reference GPS receivers across the globe. All these fixed reference stations continuously track all of the GPS satellites and the tracking information is fed back to the network assistance server where assistance data such as ephemeris, almanac, clock correction, Doppler offset etc. are derived. These data are then provided to the Mobile Service Operator upon request and transmitted to the end user. This method is standardised and known as Secure User Plane (SUPL) AGPS. Delays in broad adoption of the standard, data overhead, roaming and out of coverage issues still limit SUPL AGPS from becoming a ubiquitous solution.
Another technique called Real Time Kinematic (RTK) satellite navigation uses carrier phase measurements of the GNSS signals with a single fixed reference station providing real-time corrections to increase positioning accuracy. The connection from the fixed reference (or control) station to the GNSS rover receiver may be via a direct radio link. The Virtual Reference Station (VRS) technique adds to RTK with a network of fixed reference stations.
Post-processed second generation AGPS solutions, often referred to as predictive or extended ephemeris, use a server to synthesize assistance data. Valid for a week, or even a month into the future, this GPS assistance data is downloaded to an AGPS mobile device in advance. These solutions require frequent ephemeris downloads/updates with size varying from 2 k to 200 Kbytes, involve processing overheads and are exempt from other GPS assistance information i.e. time, coarse position estimates, ionospheric corrections etc.
It is also known that a plurality of GPS enabled devices can communicate to share satellite data residing on only one of the devices, so that a device otherwise with insufficient information to derive a position can augment its GPS solution by receiving assistance from another device already in possession of that additional information. In this known art, GPS enabled devices each with similar functionality, for example a group of mobile handsets, can form networks in order to share position and assistance data.
So, a network of similar GPS enabled devices would theoretically be able to share GPS assistance data and hence augment their LBS capability, but since the peer to peer connections are generally over short range communication links, for practical use in the current state of the art, there will not be a sufficient critical number of users within communication range. There is then a low probability of successfully linking with another device and the advantages of sharing GPS assistance information is lost. In addition, it is known that a range of technologies are used to offer positioning and navigation data as a compliment to GPS, to enhance precision and improve service coverage, but this additional position data is generated and consumed at a device level and not made available to a wider network.
According to a first aspect of the present invention, there is provided an assistance data processing and relaying module for a relaying position determining unit wherein the assistance data processing and relaying module is operable to obtain localised assistance data from an assisting peer position determining unit and is further operable to relay the localised assistance data to an assisted peer position determining unit.
Preferably, the localised assistance data comprises non-GNSS (Global Navigation Satellite System) assistance data.
Preferably, the non-GNSS assistance data comprises Wireless Positioning System (WPS) assistance data.
Preferably, the localised assistance data comprises GNSS assistance data.
Preferably, the localised assistance data comprises data derived from measurements by the assisting peer position determining unit in a locality of the assisted peer position determining unit.
Preferably, the assistance data processing and relaying module is operable to obtain the localised assistance data directly from the assisting peer position determining unit over a local wireless link.
Preferably, the assistance data processing and relaying module is operable to obtain the localised assistance data from the assisting peer position determining unit via an assistance server.
Preferably, the assistance data processing and relaying module is operable to relay the localised assistance data to the assisted peer position determining unit via an assistance server.
Preferably, the assistance data processing and relaying module is operable to form a first peer to peer network with another peer position determining unit and to cause the other peer position determining unit to establish a second peer to peer network for the other peer position determining unit to obtain the localised assistance data.
Preferably, the assistance data processing and relaying module further comprises an assistance data feed module operable to supply assistance data to a positioning, timing and navigation engine of the relaying position determining unit.
Preferably, the assistance data processing and relaying module further comprises an assistance data generating module operable to generate additional localised assistance data at the relaying position determining unit.
Preferably, the assistance data processing and relaying module is also operable to transmit the generated additional localised assistance data to the assisted peer position determining unit.
Preferably, the generated additional localised assistance data comprises data derived from measurements performed by the relaying position determining unit.
Preferably, the assistance data processing and relaying module is operable to transmit the generated additional localised assistance data to the assisted peer position determining unit over a local wireless link.
Preferably, the assistance data processing and relaying module is operable to transmit the generated additional localised assistance data to the assisted peer position determining unit via an assistance server.
According to a second aspect of the present invention, there is provided a position determining unit comprising the assistance data processing and relaying module of the first aspect.
Preferably, the position determining unit is operable to form a cluster with one or more peer position determining units in which the clustered position determining units exchange cluster assistance data with each other.
Preferably, the position determining unit is operable to select preferred assistance data available within the cluster.
Preferably, the position determining unit is operable to compare the generated additional localised assistance data with the cluster assistance data, to determine if the cluster assistance data may be enhanced and to cause the modification of the cluster assistance data responsive to the generated additional localised assistance data.
Preferably, the position determining unit is further operable to assume a special role in the cluster to arbitrate changes to the cluster assistance data.
Preferably, in the special role, the position determining unit communicates assistance data with an assistance server.
Preferably, the position determining unit is further operable to act as a repository for local geospatially relevant data.
According to a third aspect of the present invention, there is provided a method of processing assistance data at a relaying position determining unit, the method comprising the steps of obtaining localised assistance data from an assisting peer position determining unit and relaying the localised assistance data to an assisted peer position determining unit.
Preferably, the localised assistance data comprises non-GNSS assistance data.
Preferably, the non-GNSS assistance data comprises WPS assistance data.
Preferably, the localised assistance data comprises GNSS assistance data.
Preferably, the localised assistance data comprises data derived from measurements by the assisting peer position determining unit in a locality of the assisted peer position determining unit.
Preferably, the localised assistance data is obtained directly from the assisting peer position determining unit over a local wireless link.
Preferably, the localised assistance data is obtained from the assisting peer position determining unit via an assistance server.
Preferably, the localised assistance data is relayed to the assisted peer position determining unit via an assistance server.
Preferably, the method further comprises the step of generating additional localised assistance data at the relaying position determining unit.
Preferably, the generated additional localised assistance data comprises data derived from measurements performed by the relaying position determining unit.
Preferably, the method further comprises the step of transmitting the generated additional localised assistance data from the relaying position determining unit to the assisted peer position determining unit.
Preferably, the step of transmitting the generated additional localised assistance data comprises transmitting from the relaying position determining unit to the assisted peer position determining unit over a local wireless network link.
Preferably, the step of transmitting the generated additional localised assistance data comprises transmitting from the relaying position determining unit to the assisted peer position determining unit via an assistance server.
According to a fourth aspect of the present invention, there is provided a method of exchanging assistance data comprising the steps of forming a cluster of a plurality of peer position determining units and exchanging cluster assistance data between the clustered position determining units in accordance with the method of the third aspect.
Preferably, the method further comprises the step of selecting preferred assistance data available within the cluster for a clustered position determining unit.
Preferably, the method further comprises the step of comparing localised assistance data generated by a clustered position determining unit with the cluster assistance data, to determine if the cluster assistance data may be enhanced and to cause the modification of the cluster assistance data responsive to the generated localised assistance data.
Preferably, the method further comprises the step of operating a position determining unit to assume a special role in the cluster to arbitrate changes to the cluster assistance data.
Preferably, the method further comprises the step of the position determining unit operated in the special role communicating assistance data with an assistance server.
Preferably, the method further comprises the step of operating the position determining unit as a repository for local geospatially relevant data.
According to a fifth aspect of the present invention, there is provided an assistance data receiving module for an assisted position determining unit wherein the assistance data receiving module is operable to obtain localised assistance data from an assisting peer position determining unit via an assistance server.
Preferably, the localised assistance data comprises non-GNSS assistance data.
Preferably, the non-GNSS assistance data comprises WPS assistance data.
Preferably, the localised assistance data comprises GNSS assistance data.
Preferably, the localised assistance data comprises data derived from measurements by the assisting peer position determining unit in a locality of the assisted position determining unit.
According to a sixth aspect of the present invention, there is provided an assistance data transmitting module for an assisting position determining unit wherein the assistance data transmitting module is operable to develop localised assistance data and to transmit the localised assistance data to an assisted peer position determining unit via an assistance server.
Preferably, localised assistance data comprises non-GNSS assistance data.
Preferably, the non-GNSS assistance data comprises WPS assistance data.
Preferably, the localised assistance data comprises GNSS assistance data.
Preferably, the localised assistance data comprises data derived from measurements performed by the assisting position determining unit.
According to a seventh aspect of the present invention, there is provided a server module for a server, wherein the server module is operable to receive localised assistance data from a plurality of mobile assisting position determining units each having the assistance data transmitting module according to the sixth aspect and to transmit the localised assistance data to an assisted position determining unit having the assistance data receiving module according to the fifth aspect.
Preferably, the server module is operable to select suitable localised assistance data for transmission to the assisted position determining unit in case of similar localised assistance data reception from a multiplicity of the assisting position determining units.
Preferably, the server module is operable to provide and/or enable location based services responsive to the received localised assistance data.
According to an eighth aspect of the present invention, there is provided a position determining unit comprising the assistance data receiving module according to the fifth aspect and the assistance data transmitting module according to the sixth aspect.
Preferably, the position determining unit is a GNSS roving receiver.
Preferably, the position determining unit is a personal mobile device.
Preferably, the position determining unit is operable to form a cluster with one or more peer position determining units in which the clustered position determining units exchange cluster assistance data with each other.
Preferably, the position determining unit is operable to select preferred assistance data available within the cluster.
Preferably, the position determining unit is operable to compare the localised assistance data it has developed with the cluster assistance data, to determine if the cluster assistance data may be enhanced and to cause the modification of the cluster assistance data responsive the localised assistance data it has developed.
Preferably, the position determining unit is further operable to assume a special role in the cluster to arbitrate changes to the cluster assistance data.
Preferably, in the special role, the position determining unit communicates assistance data with an assistance server.
Preferably, the position determining unit is further operable to act as a repository for local geospatially relevant data.
According to a ninth aspect of the present invention, there is provided a method of receiving assistance data at an assisted position determining unit comprising the step of obtaining localised assistance data from an assisting peer position determining unit via an assistance server.
Preferably, the localised assistance data comprises non-GNSS assistance data.
Preferably, the non-GNSS assistance data comprises WPS assistance data.
Preferably, the localised assistance data comprises GNSS assistance data.
Preferably, the localised assistance data comprises data derived from measurements by the assisting peer position determining unit in a locality of the assisted peer position determining unit.
According to a tenth aspect of the present invention, there is provided a method of providing assistance data from a transmitting position determining unit, the method comprising the steps of developing localised assistance data and transmitting the localised assistance data from the transmitting position determining unit to an assisted peer position determining unit via an assistance server.
Preferably, the localised assistance data comprises non-GNSS assistance data.
Preferably, the non-GNSS assistance data comprises WPS assistance data.
Preferably, the localised assistance data comprises GNSS assistance data.
Preferably, the localised assistance data comprises data derived from measurements performed by the transmitting position determining unit.
According to an eleventh aspect of the present invention, there is provided a method of exchanging assistance data comprising the steps of forming a cluster of a plurality of peer position determining units and exchanging cluster assistance data between the clustered position determining units in accordance with the method of the ninth or tenth aspects.
Preferably, the method further comprises the step of selecting preferred assistance data available within the cluster for a clustered position determining unit.
Preferably, the method further comprises the step of comparing the localised assistance data developed by a clustered position determining unit with the cluster assistance data, to determine if the cluster assistance data may be enhanced and to cause the modification of the cluster assistance data responsive the developed localised assistance data.
Preferably, the method further comprises the step of operating a position determining unit to assume a special role in the cluster to arbitrate changes to the cluster assistance data.
Preferably, the method further comprises the step of the position determining unit operated in the special role communicating assistance data with an assistance server.
Preferably, the method further comprises the step of operating the position determining unit as a repository for local geospatially relevant data.
According to a twelfth aspect of the present invention, there is provided a computer program product containing one or more sequences of machine-readable instructions for processing assistance data at a relaying position determining unit, the instructions being adapted to cause one or more processors to perform the method according to the third aspect.
According to a thirteenth aspect of the present invention, there is provided a computer program product containing one or more sequences of machine-readable instructions for exchanging assistance data, the instructions being adapted to cause one or more processors to perform the method according to any of the fourth aspect.
According to a fourteenth aspect of the present invention, there is provided a computer program product containing one or more sequences of machine-readable instructions for receiving assistance data at an assisted position determining unit, the instructions being adapted to cause one or more processors to perform the method according to the ninth aspect.
According to a fifteenth aspect of the present invention, there is provided a computer program product containing one or more sequences of machine-readable instructions for providing assistance data from a transmitting position determining unit, the instructions being adapted to cause one or more processors to perform the method according to the tenth aspect.
According to a sixteenth aspect of the present invention, there is provided a computer program product containing one or more sequences of machine-readable instructions for exchanging assistance data, the instructions being adapted to cause one or more processors to perform the method according to the eleventh aspect.
According to a seventeenth aspect of the present invention, there is provided a GNSS assistance data receiving module for an assisted GNSS receiver unit wherein the GNSS assistance data receiving module is operable to obtain localised GNSS assistance data from an assisting peer GNSS receiver unit via an assistance server.
Preferably, the localised GNSS assistance data comprises data derived from measurements by the assisting peer GNSS receiver unit in a locality of the assisted GNSS receiver unit.
Preferably, the localised GNSS assistance data comprises data derived from an SBAS satellite.
According to a eighteenth aspect of the present invention there is provided a GNSS assistance data transmitting module for a GNSS receiver unit wherein the GNSS assistance data transmitting module is operable to develop localised GNSS assistance data and to transmit the localised GNSS assistance data to an assisted peer GNSS receiver unit via an assistance server.
Preferably, the localised GNSS assistance data comprises data derived from measurements performed by the GNSS receiver unit.
Preferably, the localised GNSS assistance data further comprises data derived from an SBAS satellite.
Preferably, the localised GNSS assistance data comprises geospatial data.
Preferably, the localised GNSS assistance data comprises raw data.
Preferably, the localised GNSS assistance data comprises packaged data.
According to a nineteenth aspect of the present invention there is provided a GNSS receiver unit comprising the GNSS assistance data receiving module of the seventeenth aspect and the GNSS assistance data transmitting module of the eighteenth aspect.
Preferably, the GNSS receiver unit is a GNSS roving receiver.
Preferably, the GNSS receiver unit is a personal mobile device.
Preferably, the GNSS receiver unit is operable to form a cluster with one or more peer GNSS receiver units in which the clustered GNSS receiver units exchange cluster assistance data with each other.
Preferably, the GNSS receiver unit is operable to select preferred assistance data available within the cluster.
Preferably, the GNSS receiver unit is operable to compare the localised GNSS assistance data it has developed with the cluster assistance data, to determine if the cluster assistance data may be enhanced and to cause the modification of the cluster assistance data responsive the localised GNSS assistance data it has developed.
Preferably, the GNSS receiver unit is further operable to assume a special role in the cluster to arbitrate changes to the cluster assistance data.
Preferably, in the special role, the GNSS receiver unit communicates assistance data with an assistance server.
Preferably, the GNSS receiver unit is further operable to act as a repository for local geospatially relevant data.
According to a twentieth aspect of the present invention, there is provided a method of receiving GNSS assistance data at an assisted GNSS receiver unit comprising the step of obtaining localised GNSS assistance data from an assisting peer GNSS receiver unit via an assistance server.
Preferably, the localised GNSS assistance data comprises data derived from measurements by the assisting peer GNSS receiver unit in a locality of the assisted GNSS receiver unit.
Preferably, the localised GNSS assistance data further comprises data derived from a fixed GNSS reference station.
According to a twenty first aspect of the present invention there is provided a method of providing GNSS assistance data from a transmitting GNSS receiver unit, the method comprising the steps of developing localised GNSS assistance data and transmitting the localised GNSS assistance data from the transmitting GNSS receiver unit to an assisted peer GNSS receiver unit via an assistance server.
Preferably, the localised GNSS assistance data comprises data derived from measurements performed by the transmitting GNSS receiver unit.
Preferably, the localised GNSS assistance data further comprises data derived from a fixed GNSS reference station.
Preferably, the localised GNSS assistance data comprises geospatial data.
Preferably, the localised GNSS assistance data comprises raw data.
Preferably, the localised GNSS assistance data comprises packaged data.
According to a twenty second aspect of the present invention there is provided a method of exchanging GNSS assistance data comprising the steps of forming a cluster of a plurality of peer GNSS receiver units and exchanging cluster assistance data between the clustered GNSS receiver units in accordance with the methods of the twentieth and twenty first aspects.
Preferably, the method further comprises the step of selecting preferred assistance data available within the cluster for a clustered GNSS receiver unit.
Preferably, the method further comprises the step of comparing the localised GNSS assistance data developed by a clustered GNSS receiver unit with the cluster assistance data, to determine if the cluster assistance data may be enhanced and to cause the modification of the cluster assistance data responsive the developed localised GNSS assistance data.
Preferably, the method further comprises the step of operating a GNSS receiver unit to assume a special role in the cluster to arbitrate changes to the cluster assistance data.
Preferably, the method further comprises the step of the GNSS receiver unit operated in the special role communicating assistance data with an assistance server.
Preferably, the method further comprises the step of the GNSS receiver acting as a repository for local geospatially relevant data.